草庐IT

iphone - 多任务处理 : Stop Background Audio at Specific Time

全部标签

ruby - 如何在单独的类/模块/文件中编写 Thor 任务?

我在获取Thor时遇到了一些问题这样做,所以希望有人能指出我做错了什么。我有一个主类classMyApp我想为多个命名空间分成单独的文件,比如thorcreate:app_type和thorupdate:app_type.我找不到任何示例来说明应该如何将Thor应用程序分解成多个部分,而且我尝试过的方法似乎不起作用。举个例子,这个类我正试图从主Thor类中脱离出来:moduleThingsmoduleGroupingdesc"something","Dosomethingcoolinthisgroup"defsomething....endendend当我尝试在我的主类中包含或要求它时

ruby-on-rails - 在 Rails 环境下使用 Rspec 测试 Rake 任务

我正在尝试测试一个rake任务,它在其中使用了一个事件记录。require'spec_helper'require'rake'loadFile.join(Rails.root,'lib','tasks','survey.rake')describe"surveyraketasks"dodescribe"survey:send_report"doit"shouldsendareport"doRake::Task['survey:send_report'].invokeendendend当我运行此规范rspecspec/lib/survey_spec.rb时,出现此错误“RuntimeEr

ruby-on-rails - Ruby:在没有 Rails 的情况下从 gem 访问 rake 任务

我知道Rake任务可以在Rubygem中的许多地方定义:在Rakefile中在tasks/*.rake中在lib/tasks/*.rake中我读到前两个应该在gem本身上执行任务时使用。当任务需要公开时,似乎应该选择第三个选项。有许多在线教程演示了使用Rails从gem加载Rake任务的各种方法,即利用Rails::RailTie。但是,我想找到一种在不需要Rails的情况下在另一个gem中使用依赖项gem的任务的方法。有没有简单的解决方法?是否有人愿意描述正确的方法,或概述哪些方法可行?更新我已经尝试创建一个文件bin/my-gem以便在系统上可以从my-gem执行Rake任务。我已

ruby - Rake 中任务名称的别名

当我需要为某个任务的名称起别名时,我应该怎么做?比如我怎么转任务名:rakedb:tablerakedb:createrakedb:schemarakedb:migration到:rakedb:trakedb:crakedb:srakedb:m得到答案后编辑:defalias_task(tasks)tasks.eachdo|new_name,old_name|tasknew_name,[*Rake.application[old_name].arg_names]=>[old_name]endendalias_task[[:ds,:db_schema],[:dc,:db_create],

ruby-on-rails - rake 任务因 US-ASCII 中的无效字节序列而失败

升级到ruby​​1.9.3后,我的一个应用程序运行良好,但当我尝试使用capistrano进行部署时,我尝试转换的第二个应用程序在“assets:precompile”阶段失败。这是堆栈跟踪:rakeaborted!rakeaborted!invalidbytesequenceinUS-ASCII/Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/trace_output.rb:16:in`blockintrace_on'/Users/george/.rvm/gems/ruby-1.9.3-

ruby - 多个sidekiq实例可以处理同一个队列吗

我不熟悉Sidekiq的内部结构,想知道是否可以启动多个具有相同配置(处理相同队列)的Sidekiq实例。是否有可能2个或更多Sidekiq实例将处理来自队列的相同消息?更新:我需要知道在超过1台机器上运行Sidekiq时是否可能存在冲突 最佳答案 是的,sidekiq绝对可以针对同一个队列运行多个进程。Redis只会将消息交给随机进程。 关于ruby-多个sidekiq实例可以处理同一个队列吗,我们在StackOverflow上找到一个类似的问题: http

ruby - 以特定顺序运行 RSpec 任务

我有一堆RSpecRake任务定义了我希望在运行整套测试时按特定顺序运行。我试过这样的:task:run_in_order=>[:one,:two,:three]doputs"Runsuiteoftests"end它运行第一个测试然后停止并且不运行其余任务。因此,如果使用Rake语法,它就不起作用。有没有办法记录RSpecRake任务的任务依赖性? 最佳答案 检查这个http://blog.davidchelimsky.net/2012/01/04/rspec-28-is-released/–orderrandWeaddedan--

ruby-on-rails - 强制 Rake 任务在特定的 Rails 环境中运行

我需要从另一个Rake任务运行一系列Rake任务。前三个任务需要在开发环境中运行,但最后一个任务需要在登台环境中运行。该任务依赖于:environment,这会导致在任务运行之前加载Rails开发环境。但是,我需要在暂存环境中执行最终任务。在调用rake任务之前传递一个RAILS_ENV=staging标志是不好的,因为此时环境已经加载,所有这一切只会设置标志,而不是加载暂存环境。有没有办法在特定环境中强制执行rake任务? 最佳答案 我以前完成过这种,尽管不是以最优雅的方式:task:preparedosystem("bundle

ruby - 测试 rake 任务

我正在开发一个依赖于许多自定义Rake任务的ROR应用程序。测试它们的最佳方法是什么? 最佳答案 类似于:defexecute_rake(file,task)require'rake'rake=Rake::Application.newRake.application=rakeRake::Task.define_task(:environment)load"#{Rails.root}/lib/tasks/#{file}"rake[task].invokeend根据您的规范:execute_rake("tags.rake","tags

ruby-on-rails - 在 Rails 4 中的 rake 任务/后台作业/模型中呈现部分/ View

我阅读了很多关于在rake任务/后台作业/模型中渲染Rails部分和View的内容。我在Stackoverflow和网络上发现的绝大多数内容都描述了在Rails3中工作的方法,但它们似乎已经过时并且我没有让它们工作(即使花了相当多的时间进行试验)。那么,我怎样才能在Rails4的后台作业中渲染部分内容?这是我迄今为止制定的最佳方法(在控制台中演示)。c=ApplicationController.newresult=c.render_to_string(partial:'tweets/tweet',locals:{tweet:Tweet.first})#=>#TweetLoad(0.8